package com.aizuda.boot.modules.business.permission.domain.response;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "部门与员工信息统一响应体")
public class DepartmentEmployeeResponseDTO {

    @Schema(description = "子部门列表")
    private List<DepartmentDTO> subDepartments;

    @Schema(description = "员工详情列表")
    private List<EmployeeDetailDTO> employees;

    @Data
    @Schema(description = "部门信息")
    public static class DepartmentDTO {
        private Long id;
        private Long nodeId;
        private String name;
    }

    @Data
    @Schema(description = "员工详情")
    public static class EmployeeDetailDTO {
        private Long id;
        private String name;
        private String aliasName;
        private String mobile;
        private String avatar;
        private Integer sex;
        private String email;
        private String position;
        private List<DepartmentDTO> allDepartments;
    }
}
